Various personal devices including personal computers (PCs) have become essential tools for businesses, organizations and personal use. PCs may be connected via a computer network to enable communication between users within and outside an organization. Administration of such networks and the management of hundreds and thousands of PCs that are included in these networks as well as other networked devices within an organization is a time consuming and complicated responsibility.
The various devices used within an organization typically run application programs including operating systems, web browsers and productivity suites. These application programs are installed on these devices have disparate versions. Managing version information for these applications on each client device is beneficial when determining compatibility for network-wide upgrades and or application migrations for an organization. For example, only particular versions of operating systems, and application programs will work with certain new/upgraded applications including, for example, web based communication platforms. If a client device does not have the correct version of installed application programs, the new platform or application may not function or communicate properly with other devices or may not be able to take advantage of all the newly available system features. Collecting version information for existing programs including, for example, operating systems, web browsers and productivity suites installed on a client device may be beneficial when determining the readiness of specific machines within an organization in order to migrate new/updated applications to each device. However, collecting this version information in a secure, efficient and cost effective manner is time consuming and often inaccurate. For example, one common way administrators within organizations collect version information is by sending an email communication asking for pertinent version information of certain applications or programs installed on a client device. This requires a user to access the version information on their own machine and reply, often with another email communication, to the administrator. Often times, the users either do not respond to the administrator's email request or respond with incorrect information leading to incomplete and inaccurate version information for an organization. In addition, tracking responses for each client device in an organization is time consuming and difficult to manage. Another common way administrators collect version information is by sending a script or sequence of coded instructions that a user runs on his/her machine. Once run, the results of the script are sent directly to the administrator or uploaded to a network shared location for the administrator to access. However, this requires the administrator to write scripts—often separate scripts for each application—and requires the users to actually run the scripts on their respective machines. In addition, decisions on whether or not existing application versions are compatible with new program implementations is best left to the sources of these new programs, not a network administrator which may lead to compatibility errors and failed installations. It is with respect to these and other considerations that the present improvements have been needed.